<?php
/* Ustalamy ilosc znakow w generowanym tokenie */
define ('DLUGOSC_KODU',5);
 global $id, $database, $imie, $nazw, $email, $login, $pass, $kod_txt, $err;
 $_SESSION['kod_sesji'] = "";
?>
<form id="FormAddUser" action="index.php?module=poi&amp;action=addUser" enctype="multipart/form-data" method="post" onsubmit="return checkUserForm()">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td>Imię:</td></tr><tr>
<td><input class="form" size="30" name="imie" type="text" id="1" value="<?php echo $imie;?>">
   <div class="form_error" id="11">To pole nie może być puste!</div></td>
</tr>
<tr>
<td>Nazwisko:</td></tr><tr>
<td><input class="form" size="30" name="nazw" id="2" type="text" value="<?php echo $nazw;?>">
<div class="form_error" id="22"> To pole nie może być puste!</div></td>
</tr>
<tr>
<td>Login:</td></tr><tr>
<td><input class="form" size="30" name="login" id="3" type="text" value="<?php echo $login;?>"><?php checkErr();?>
<div class="form_error" id="33"> To pole nie może być puste!</div></td>
</tr>
<tr>
<td>Hasło:</td></tr><tr>
<td><input class="form" size="30" name="pass" id="4" type="password" value="<?php echo $pass;?>" onkeypress="checkPass()">
   <span id="warnpass">Min. 6 znaków</span>
<div class="form_error" id="44"> To pole nie może być puste!</div></td>
</tr>

<tr>
<td>E-mail:</td></tr><tr>
<td><input class="form" size="30" name="email" id="5" type="text" value="<?php echo $email;?>" onchange="checkEmail()">
   <span id="warnmail" style="display:none">Niepoprawny adres e-mail</span>
   <?php checkErr();?>
<div class="form_error" id="55">To pole nie może być puste!</div></td>
</tr>
<tr>
<td>Wpisz kod z obrazka:<br><?php printToken(); ?> </td></tr><tr>
<td><input type="text" name="kod_txt" size="8" id="6" maxlength="<?php echo DLUGOSC_KODU;?>"> <?php checkErr();?>
<div class="form_error" id="66"> Wpisz kod z obrazka!</div></td>
</tr>

<tr><td><br><input type="checkbox" id="7">Wyrażam zgodę na przetwarzanie moich danych osobowych zawartych w formularzu zgodnie z ustawą z dnia 29.08.97r. o ochronie danych osobowych, DzU nr 133, poz. 883.<br>
<div class="form_error" id="77">Musisz zaznaczyć to pole, aby się zarejestrować</div></td></tr>
<tr><td align="center"><br><input value="Wyślij" type="submit"></td></tr>
</table>
</form>

<?php
function checkErr()
{ global $err;
   switch($err)
   {
      case 1:
         echo 'Wpisałeś niepoprawny token!';
         break;
      case 2:
         echo 'Podany login już istnieje';
         break;
      case 3:
         echo 'Podany e-mail już istnieje';
         break;
      default:
         break;
   }
}
function printToken()
{
/*
    Klucz uzyty do zaszyfrowania tresci tokena - TAKI SAM musi
    znalesc sie w pliku get_token.php, inaczej nie zostanie
    poprawnie odkodowany.
*/
define ('KLUCZ','dupa');

/* Lancuch pomocniczy. Tych znakow bedziemy uzywac do losowania kodu */
define ('MATRIX','1234567890abcdefghijklmnopqrstuwxyz');

/*
    Losujemy ustalona liczbe znakow u szyfrujemy
    wg. schematu opisanego wczesniej
*/
for ($e=0;$e<DLUGOSC_KODU;$e++){
    $litera_klucza=substr(KLUCZ,$e%strlen(KLUCZ),1);
    $litera_kodu=substr(MATRIX,rand(0,strlen(MATRIX)-1),1);
    $_SESSION['kod_sesji'].=$litera_kodu;
    $litera_kodu=$litera_kodu ^ $litera_klucza;
    $kod.=$litera_kodu;
}
/* Dopelnia zerami, dla zmylenia przeciwnika ;) */
$token=str_pad($kod,10);
$token=base64_encode($token);
$token=str_rot13($token);
/*
    Po tych operacjach otrzymamy zakodowany ciag wylosowanych znakow
    ktory stanie sie parametrem dla get_token.php
*/
echo "<img src=\"./external/get_token.php?token=$token\">";

}
?>